<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.8" />
<link rel="Shortcut Icon" href="/images/favicon.ico" type="image/x-icon" />
<title></title>
<link rel="stylesheet" href="asciidoc-14.css" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/asciidoc.css" type="text/css" />
<link rel="stylesheet" href="website-14.css" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/website.css" type="text/css" />
</head>

<body>

<div id="layout-menu-box">
<div id="layout-menu">
  <div><a href="WhatIsPeach.html" tppabs="http://old.peachfuzzer.com/WhatIsPeach.html">What is Peach</a></div>
  <div><a href="Installation.html" tppabs="http://old.peachfuzzer.com/v3/Installation.html"><b>Installing</b></a></div>
  <div><a href="PeachQuickStart.html" tppabs="http://old.peachfuzzer.com/v3/PeachQuickStart.html"><b>Tutorials</b></a></div>
  <div><a href="Methodology.html" tppabs="http://old.peachfuzzer.com/Methodology.html">Methodology</a></div>
  <div><a href="Introduction.html" tppabs="http://old.peachfuzzer.com/Introduction.html">Introduction</a></div>
  <div><a href="Training.html" tppabs="http://old.peachfuzzer.com/Training.html">Training</a></div>
  <div><a href="javascript:if(confirm(%27http://www.dejavusecurity.com/peach.html  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.dejavusecurity.com/peach.html%27" tppabs="http://www.dejavusecurity.com/peach.html">Enterprise</a></div>
  <div><a href="FAQ.html" tppabs="http://old.peachfuzzer.com/v3/FAQ.html">FAQ</a></div>
  <div><a href="javascript:if(confirm(%27http://forums.peachfuzzer.com/forum.php  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://forums.peachfuzzer.com/forum.php%27" tppabs="http://forums.peachfuzzer.com/forum.php">Support Forums</a></div>

  <div><h5>Peach 3</h5></div>
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="PeachPit.html" tppabs="http://old.peachfuzzer.com/v3/PeachPit.html">Peach Pits</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="GeneralConfiguration.html" tppabs="http://old.peachfuzzer.com/v3/GeneralConfiguration.html">General Conf</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="DataModeling.html" tppabs="http://old.peachfuzzer.com/v3/DataModeling.html">Data Modeling</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="StateModel.html" tppabs="http://old.peachfuzzer.com/v3/StateModel.html">State Modeling</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="AgentsMonitors.html" tppabs="http://old.peachfuzzer.com/v3/AgentsMonitors.html">Agents</a></div>
  <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="AgentsMonitors.html" tppabs="http://old.peachfuzzer.com/v3/AgentsMonitors.html">Monitors</a></div>
  <div>&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="TestConfig.html" tppabs="http://old.peachfuzzer.com/v3/TestConfig.html">Test</a></div>
        <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="Publisher.html" tppabs="http://old.peachfuzzer.com/v3/Publisher.html">Publishers</a></div>
  <div>&nbsp;&nbsp;<img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="Logger.html" tppabs="http://old.peachfuzzer.com/v3/Logger.html">Loggers</a></div>
  <!-- <div>&nbsp;<img src="/images/1.gif" /><a href="/v3/DebuggingPitFiles.html">Debugging Pits</a></div> -->
  <!-- <div>&nbsp;<img src="/images/1.gif" /><a href="/v3/ValidatingPitFiles.html">Validating Pits</a></div> -->
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="RunningPeach.html" tppabs="http://old.peachfuzzer.com/v3/RunningPeach.html">Running</a></div>
  <!-- <div><img src="/images/1.gif" /><a href="/v3/ParallelPeach.html">Parallel</a></div> -->
  <!-- <div><img src="/images/1.gif" /><a href="/v3/ExtendingPeach.html">Extending</a></div> -->
  <div><img src="1.gif" tppabs="http://old.peachfuzzer.com/images/1.gif" /><a href="minset.html" tppabs="http://old.peachfuzzer.com/v3/minset.html">Minset</a></div>

  <div><h5><a href="peach23.html" tppabs="http://old.peachfuzzer.com/v2/peach23.html">Peach 2.3</a></h5></div>

  <div><hr/></div>

  <div><a href="License.html" tppabs="http://old.peachfuzzer.com/License.html">License</a></div>
</div>
</div>
<div id="layout-content-box">
<div id="layout-banner">
  <div id="layout-title">
    <a href="index.htm" tppabs="http://old.peachfuzzer.com/"><img src="peach_fuzzer.png" tppabs="http://old.peachfuzzer.com/images/peach_fuzzer.png" height="100" /></a>
    <a href="javascript:if(confirm(%27http://www.dejavusecurity.com/peach.html  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.dejavusecurity.com/peach.html%27" tppabs="http://www.dejavusecurity.com/peach.html" class="layout-inner-banner-right">
                <img height="50" src="dejavusecurity.png" tppabs="http://old.peachfuzzer.com/images/dejavusecurity.png" /></a>
  </div>

  <div id="layout-description">
  <script>
  (function() {
    var cx = '007028538774543840348:g-0dlrdlmxs';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>
      </div>
</div>
<div id="layout-content">
<div id="content">
<div class="paragraph"><p><a href="ConfigurePublisher-4.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/ConfigurePublisher.html">&lt;&lt; Previouse</a> | <a href="TutorialNetworkServer.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer.html">Up</a> | <a href="OptimizeTesting-2.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/OptimizeTesting.html">Next &gt;&gt;</a></p></div>
<hr />
<div class="sect1">
<h2 id="_agent_and_monitor">Agent and Monitor</h2>
<div class="sectionbody">
<div class="paragraph"><p>Now we are ready to configure our agent and monitors.  Agents are special Peach processes that can be run locally or remote.  These processes host one or more monitors that can perform such actions as attaching debuggers, watching memory consumption, etc.  For this tutorial we are going to configure the WindowsDebugEngine to monitor <code>mysqld-nt.exe</code> for exceptions and access violations.  Additionally we will enable HEAP debugging for the target process.  If the MySQL instance was on a remote machine we could also configure a network capture monitor, however on Windows it is not possible by default to capture traffic to the loopback address (127.0.0.1).</p></div>
<div class="paragraph"><p><em>Note</em>: Running an agent on an untrusted network has <a href="javascript:if(confirm(%27http://old.peachfuzzer.com/v2/TutorialNetworkServer/Agent  \n\nThis file was not retrieved by Teleport Ultra, because the server reports that access to this file is forbidden.  \n\nDo you want to open it from the server?%27))window.location=%27http://old.peachfuzzer.com/v2/TutorialNetworkServer/Agent#security.html%27" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/Agent#security.html">security implications</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_configure_the_agent_and_monitor">Configure the Agent and Monitor</h2>
<div class="sectionbody">
<div class="paragraph"><p>First lets locate the commented out <code>&lt;Agent&gt;</code> element in the template file, it will look something like this:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-style: italic"><span style="color: #9A1900">&lt;!-- TODO: Configure agent/monitors</span></span>
<span style="font-style: italic"><span style="color: #9A1900">        &lt;Agent name="LocalAgent" location="http://127.0.0.1:9000"&gt;</span></span>
<span style="font-style: italic"><span style="color: #9A1900">        &lt;Monitor class="test.TestStopOnFirst" /&gt;</span></span>
<span style="font-style: italic"><span style="color: #9A1900">        &lt;/Agent&gt;</span></span>
<span style="font-style: italic"><span style="color: #9A1900">--&gt;</span></span></tt></pre></div></div>
<div class="paragraph"><p>We are going to uncomment this section and configure two monitors the WindowsDebugEngine and PageHeap.</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;Agent</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"LocalAgent"</span> <span style="color: #009900">location</span><span style="color: #990000">=</span><span style="color: #FF0000">"http://127.0.0.1:9000"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Monitor</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"process.PageHeap"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
        <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"CommandLine"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"mysqld-nt.exe"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Monitor&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Monitor</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"debugger.WindowsDebugEngine"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
        <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Application"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Monitor&gt;</span></span>
<span style="font-weight: bold"><span style="color: #0000FF">&lt;/Agent&gt;</span></span></tt></pre></div></div>
<div class="paragraph"><p>Notice that we are not specifying a path for the PageHeap memory debugging.</p></div>
<div class="paragraph"><p>Additionally, we are using the default agent configuration were the agent will be run locally (127.0.0.1 is our loopback address).</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_configure_test">Configure Test</h2>
<div class="sectionbody">
<div class="paragraph"><p>Okay, now we just need to enable the agent for our test.  Head down to the <code>&lt;Test&gt;</code> element, specifically we are looking to uncomment this line:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-style: italic"><span style="color: #9A1900">&lt;!-- &lt;Agent ref="LocalAgent"/&gt; --&gt;</span></span></tt></pre></div></div>
<div class="paragraph"><p>Leaving us with this:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;Test</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"TheTest"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Agent</span></span> <span style="color: #009900">ref</span><span style="color: #990000">=</span><span style="color: #FF0000">"LocalAgent"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;StateModel</span></span> <span style="color: #009900">ref</span><span style="color: #990000">=</span><span style="color: #FF0000">"TheState"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>

    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Publisher</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"tcp.Tcp"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
        <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"host"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"127.0.0.1"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
        <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"port"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"3306"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Publisher&gt;</span></span>
<span style="font-weight: bold"><span style="color: #0000FF">&lt;/Test&gt;</span></span></tt></pre></div></div>
</div>
</div>
<div class="sect1">
<h2 id="_configure_logging">Configure Logging</h2>
<div class="sectionbody">
<div class="paragraph"><p>Now that we are using monitors that can detect faults we will want to configure a logging mechanism to capture the results of our fuzzer run.</p></div>
<div class="paragraph"><p>Todo this add the following to the <code>&lt;Run&gt;</code> element at the bottom of our XML file:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;Logger</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"logger.Filesystem"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"path"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"logs"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
<span style="font-weight: bold"><span style="color: #0000FF">&lt;/Logger&gt;</span></span></tt></pre></div></div>
<div class="paragraph"><p>So it looks like this:</p></div>
<div class="listingblock">
<div class="content"><!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;Run</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"DefaultRun"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>

    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Test</span></span> <span style="color: #009900">ref</span><span style="color: #990000">=</span><span style="color: #FF0000">"TheTest"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>

    <span style="font-weight: bold"><span style="color: #0000FF">&lt;Logger</span></span> <span style="color: #009900">class</span><span style="color: #990000">=</span><span style="color: #FF0000">"logger.Filesystem"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
        <span style="font-weight: bold"><span style="color: #0000FF">&lt;Param</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"path"</span> <span style="color: #009900">value</span><span style="color: #990000">=</span><span style="color: #FF0000">"logs"</span> <span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
    <span style="font-weight: bold"><span style="color: #0000FF">&lt;/Logger&gt;</span></span>

<span style="font-weight: bold"><span style="color: #0000FF">&lt;/Run&gt;</span></span></tt></pre></div></div>
</div>
</div>
<div class="sect1">
<h2 id="_running_fuzzer">Running Fuzzer</h2>
<div class="sectionbody">
<div class="paragraph"><p>Now that we have an agent configured, when we run our fuzzer we will first start a Peach agent instance.  This can be done using the following command lines:</p></div>
<div class="paragraph"><p><em>Start Agent</em></p></div>
<div class="listingblock">
<div class="content">
<pre><code>peach.py -a</code></pre>
</div></div>
<div class="paragraph"><p><em>Run Fuzzer</em></p></div>
<div class="listingblock">
<div class="content">
<pre><code>peach.py wav.xml</code></pre>
</div></div>
<hr />
<div class="paragraph"><p><a href="ConfigurePublisher-4.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/ConfigurePublisher.html">&lt;&lt; Previouse</a> | <a href="TutorialNetworkServer.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer.html">Up</a> | <a href="OptimizeTesting-2.html" tppabs="http://old.peachfuzzer.com/v2/TutorialNetworkServer/OptimizeTesting.html">Next &gt;&gt;</a></p></div>
</div>
</div>
</div>
<div id="footnotes"></div>
<div id="footer">
<div id="footer-text">

<table width="100%">
<td><td>
<a href="javascript:if(confirm(%27http://dejavusecurity.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://dejavusecurity.com/%27" tppabs="http://dejavusecurity.com/"><img src="dejavusecurity.png" tppabs="http://old.peachfuzzer.com/images/dejavusecurity.png" height="50"/></a>
</td><td>&nbsp;&nbsp;&nbsp;</td><td>

Copyright (c) <a href="javascript:if(confirm(%27http://dejavusecurity.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://dejavusecurity.com/%27" tppabs="http://dejavusecurity.com/">Deja vu Security</a> <br/>
Last updated 2014-02-23 21:20:34 PST
</td>
</table>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1094513-10']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www/') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</div>
</div>
</div>
</div>
</body>
</html>
